package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;

import java.util.Date;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface DubboKakouTrendService {
	/**
     * 特定卡口流量趋势统计  时间粒度月
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTTimeFlowDto>
     */
    public ResultPojo kakouFlowTrendStatisticsByMonth (String token,Date startDay, Date endDay, String pointId);

    /**
     * 卡口流量占比统计  时间粒度 小时
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouFlowProportionDto>
     */
    public ResultPojo kakouFlowProportionByHour(String token,Date startDay, Date endDay, String pointId);

    /**
     * 卡口流量占比统计  时间粒度 天
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouFlowProportionDto>
     */
    public ResultPojo kakouFlowProportionByDay(String token,Date startDay, Date endDay, String pointId);

    /**
     * 卡口流量占比统计  时间粒度 月
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouFlowProportionDto>
     */
    public ResultPojo kakouFlowProportionByMonth(String token,Date startDay, Date endDay, String pointId);

    /**
     * 平均车道流量统计 时间粒度 小时
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouAvgLaneFlowDto>
     */
    public ResultPojo laneFlowAnalysisByHour(String token,Date startDay, Date endDay, String pointId);

    /**
     * 平均车道流量统计 时间粒度 天
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouAvgLaneFlowDto>
     */
    public ResultPojo laneFlowAnalysisByDay(String token,Date startDay, Date endDay, String pointId);

    /**
     * 平均车道流量统计 时间粒度 月
     * @param startDay
     * @param endDay
     * @param pointId
     * @return List<FKTKakouAvgLaneFlowDto>
     */
    public ResultPojo laneFlowAnalysisByMonth(String token,Date startDay, Date endDay, String pointId);

    /**
     * 卡口早晚高峰查询  时间粒度是天  timeSign 0 代表早高峰  1 代表晚高峰
     * @param startDay
     * @param endDay
     * @param pointId
     * @param timeSign
     * @return List<FKTTimeFlowDto>
     */
    public ResultPojo kakouFlowPeak(String token,Date startDay, Date endDay, String pointId, String timeSign);


}
